package com.hh.ListNodeQuestions;

/**
 * @Author hanghao
 * @Date 2023/6/28 15:50
 * @Version 1.0
 * 删除排序链表中的重复元素 II
 * middle
 */

public class No82 {
    public ListNode deleteDuplicates(ListNode head) {
        if(head == null) return head;
        ListNode dummy = new ListNode(0,head);
        ListNode cur = head;
        ListNode pre = dummy;
        while (cur != null && cur.next != null) {
            if(cur.val == cur.next.val) {
                int record = cur.val;
                while (cur != null && cur.val == record) { //这边要加一个条件不为null
                    cur = cur.next;
                }
                pre.next = cur;//为什么这句话的位置在这儿呢 因为其他地方都是连续的 只有这个地方要进行删除   而且放在下面的话 会出现while (cur != null && cur.next != null) 在最后的时候就不进行循环了
            } else {
//                pre.next = cur;//这句话没放对位置
                pre = cur;
                cur = cur.next;
            }

        }
        return dummy.next;

    }
}
